1. Field of the Invention
The present invention relates, in general, to processes of starting up a computer or to the boot or bootstrap process for computing devices and servers in a network, and, more particularly, to a boot method, and systems configured to support using such a boot method, for use in loading an operating system (OS) on a networked computing device, such as a server, and starting up operation of the networked computing device with the loaded OS. The invention is particularly well suited for booting up servers from disk devices in a network, such as a storage area network (SAN).
2. Relevant Background
The typical start up or “boot” of a computer or computing device involves reading an operating system (OS) from disk. For example, when an OS is installed on a local disk in the computer, install software and/or boot support applications running on the computer discovers one disk or a few local disks and prompts the user to select a disk for use in the installation. At boot time, the boot applications, such as BIOS for X86-based systems and pre-boot applications for other computing devices including network servers and other devices, provide hardware assistance in performing the booting process, and this assistance has been extended for external (or non-local disks) with hardware components including controller cards. However, local disk boot support applications are only useful for working with a small number of disks, and it is becoming more and more common for computer devices including servers to be booted from an external disk that is chosen from numerous disks, such as hundreds or more disk devices, provided in a storage network, e.g., a storage area network (SAN).
A significant portion of properly starting up a computer is reading the OS from memory or disk, and this function can only be performed if the disk to be read from (or containing the OS) is adequately addressed to allow the computer that is starting up to locate the disk and the OS. At boot time, however, computers and their pre-boot applications or environment have very limited addressing capabilities. With a few local disks, a user may be asked to select a disk from a relatively short list of discovered disks. This solution is not useful for SAN implementations because it is not practical to discover all the available disks (e.g., not only disks in network but those not in use due to sharing and the like) in a the SAN and provide the user with the entire list. The discovery process is too time consuming, the information in the list is often not useful (e.g., not clear which disk device is which based on identifiers), and the list is simply too large to be processed readily by a user or system administrator.
A common boot method used with SANs involves utilizing another already booted up computer or system to identify an available disk. For example, prior to installing an OS to a disk in a SAN, an administrator may select a disk using some other storage network topology viewing software, such as a network navigation application. Then, during the OS installation procedure, the administrator is required to specify precisely a path from the booting computer or system to the selected disk. This path typically includes the disk's hardware name, which is similar in form to a serial number, the name of the controller on the host, and other information needed to inform the installation or pre-boot application or environment how to access the selected disk. The specification process is a manual process which is prone to data entry errors and is also a time-consuming, tedious process for the administrator that requires long strings of addresses and/or identifiers to be typed in precisely.
Another problem facing network administrators is the demand that multiple systems, such as servers and more particularly, blade servers, have the same OS installed. For example, it is now common for multiple blade servers to share a service processor that provides a common management environment for many servers including the OS installation tasks. However, prior to OS installation, there is generally no capabilities for program-to-program communications, and this lack of software component communication requires the manual entry of disk path data to facilitate OS installation during boot operations. Another difficulty with performing network or SAN booting with blade and other computing devices is that many pre-boot extensions require hardware in the form of controller cards to be added to provide the desired functions, but many of these devices are configured such that additional hardware cannot be readily added or inserted.
Hence, there remains a need for a boot method that better supports installation of an OS from an external disk, such as a disk or disk device in a SAN. Preferably such a method would address the problems with identifying an available disk among a large number of available disks and lessen or even remove the need for prior selection of a disk to read the OS from and for manual entry of address and/or identification information for such an OS source disk.